cmake $<PLATFORM_ID> examples

JGRennison/OpenTTD-patches CMakeLists.txt :90

add_custom_target(find_version
            ${CMAKE_COMMAND}
                    -DFIND_VERSION_BINARY_DIR=${CMAKE_BINARY_DIR}/generated
                    -DCPACK_BINARY_DIR=${CMAKE_BINARY_DIR}
                    -DREV_MAJOR=${PROJECT_VERSION_MAJOR}
                    -DREV_MINOR=${PROJECT_VERSION_MINOR}
                    $<$<PLATFORM_ID:Windows>:-DWIN32=TRUE>
                    -P "${CMAKE_SOURCE_DIR}/cmake/scripts/FindVersion.cmake"
            WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
            BYPRODUCTS ${GENERATED_SOURCE_FILES}
    )

WarmUpTill/SceneSwitcher cmake/common/advss_helpers.cmake :229

add_custom_command(
      TARGET ${target}
      POST_BUILD
      COMMAND
        "${CMAKE_COMMAND}" --install .. --config $<CONFIG> --prefix
        ${OBS_OUTPUT_DIR}/$<CONFIG> --component obs_${_DEP_NAME} >
        "$<IF:$<PLATFORM_ID:Windows>,nul,/dev/null>"
      COMMENT "Installing ${_DEP_NAME} to OBS rundir\n"
      VERBATIM)

Kitware/ParaView Plugins/BivariateRepresentations/CMakeLists.txt :67

target_link_options(BivariateRepresentations
      PRIVATE
        "$<$<PLATFORM_ID:Darwin>:LINKER:-no_warn_duplicate_libraries>")

iree-org/iree compiler/src/iree/compiler/API/CMakeLists.txt :194

target_link_options(iree_compiler_API_SharedImpl PRIVATE
    $<$<PLATFORM_ID:Linux>:-Wl,--no-undefined>
    $<$<PLATFORM_ID:Darwin>:-Wl,-undefined,error>
  )

projectM-visualizer/projectm src/libprojectM/CMakeLists.txt :1

add_compile_definitions(
        DATADIR_PATH="${PROJECTM_DATADIR_PATH}"
        $<IF:$<PLATFORM_ID:Darwin>,GL_SILENCE_DEPRECATION,>
        $<IF:$<PLATFORM_ID:Windows>,NOMINMAX,>
        $<IF:$<PLATFORM_ID:Windows>,WIN32_LEAN_AND_MEAN,>
        $<IF:$<PLATFORM_ID:Windows>,STBI_NO_DDS,>
        )

google/filament filament/CMakeLists.txt :736

target_compile_options(${TARGET} PRIVATE
        ${FILAMENT_WARNINGS}
        $<$<CONFIG:Release>:${OPTIMIZATION_FLAGS}>
        $<$<AND:$<PLATFORM_ID:Darwin>,$<CONFIG:Release>>:${DARWIN_OPTIMIZATION_FLAGS}>
        $<$<PLATFORM_ID:Linux>:${LINUX_COMPILER_FLAGS}>
)

hoffstadt/DearPyGui src/distribution.cmake :25

target_link_directories(_dearpygui 
		PRIVATE 
			"$<$<PLATFORM_ID:Linux>:/usr/lib>"
			${Python_LIBRARY_DIRS}
	)

maplibre/maplibre-native CMakeLists.txt :68

target_compile_options(
    mbgl-compiler-options
    INTERFACE
        $<$<BOOL:${MLN_WITH_COVERAGE}>:--coverage>
        $<$<BOOL:${MLN_WITH_SANITIZER}>:-DSANITIZE>
        $<$<BOOL:${MLN_WITH_SANITIZER}>:-fno-omit-frame-pointer>
        $<$<BOOL:${MLN_WITH_SANITIZER}>:-fno-optimize-sibling-calls>
        $<$<STREQUAL:${MLN_WITH_SANITIZER},address>:-fsanitize=address>
        $<$<STREQUAL:${MLN_WITH_SANITIZER},thread>:-fsanitize=thread>
        $<$<STREQUAL:${MLN_WITH_SANITIZER},undefined>:-fsanitize=implicit-conversion,
        -fsanitize-blacklist=${UBSAN_BLACKLIST}>
        $<$<STREQUAL:${MLN_WITH_SANITIZER},undefined>:-fsanitize=undefined,
        -fsanitize-blacklist=${UBSAN_BLACKLIST}>
        $<$<STREQUAL:${MLN_WITH_SANITIZER},undefined>:-fsanitize=unsigned-integer-overflow,
        -fsanitize-blacklist=${UBSAN_BLACKLIST}>
        $<$<STREQUAL:${MLN_WITH_SANITIZER},undefined>:-fsanitize=nullability,
        -fsanitize-blacklist=${UBSAN_BLACKLIST}>
        $<$<STREQUAL:${MLN_WITH_SANITIZER},undefined>:-fsanitize=float-divide-by-zero,
        -fsanitize-blacklist=${UBSAN_BLACKLIST}>
        $<$<PLATFORM_ID:iOS>:-fembed-bitcode>
        $<$<AND:$<OR:$<COMPILE_LANGUAGE:CXX>,$<COMPILE_LANGUAGE:OBJCXX>>,$<NOT:$<OR:$<BOOL:${MLN_WITH_RTTI}>,$<CXX_COMPILER_ID:MSVC>>>>:-fno-rtti>
        $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Wall>
        $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Wshadow>
        $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Wextra>
        $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>,$<BOOL:${MLN_WITH_WERROR}>>:-Werror>
        $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<PLATFORM_ID:Android>>:-Wno-error=tautological-constant-compare>
        $<$<CXX_COMPILER_ID:GNU>:-Wno-error=maybe-uninitialized>
        $<$<CXX_COMPILER_ID:GNU>:-Wno-error=return-type>
        $<$<CXX_COMPILER_ID:GNU>:-Wno-error=unknown-pragmas>
        $<$<CXX_COMPILER_ID:GNU>:-Wno-error=pragmas>
        $<$<CXX_COMPILER_ID:GNU>:-Wno-psabi>
        $<$<CXX_COMPILER_ID:AppleClang>:-Wno-unknown-warning-option>
        $<$<AND:$<CXX_COMPILER_ID:AppleClang>,$<NOT:$<BOOL:${MLN_WITH_QT}>>>:-Wno-error=deprecated-declarations>
        $<$<AND:$<CXX_COMPILER_ID:AppleClang>,$<NOT:$<BOOL:${MLN_WITH_QT}>>>:-Wno-error=unused-parameter>
        $<$<AND:$<CXX_COMPILER_ID:AppleClang>,$<NOT:$<BOOL:${MLN_WITH_QT}>>>:-Wno-error=unused-property-ivar>
        $<$<CXX_COMPILER_ID:MSVC>:/utf-8>
        $<$<CXX_COMPILER_ID:MSVC>:/WX>      # all warnings as errors
        $<$<CXX_COMPILER_ID:MSVC>:/EHsc>    # exceptions
        $<$<CXX_COMPILER_ID:MSVC>:/wd4068>  # pragma
        $<$<CXX_COMPILER_ID:MSVC>:/D_USE_MATH_DEFINES>
        $<$<AND:$<NOT:$<CXX_COMPILER_ID:MSVC>>,$<PLATFORM_ID:Windows>>:-D_USE_MATH_DEFINES>
        $<$<CXX_COMPILER_ID:MSVC>:/D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS>
        $<$<CXX_COMPILER_ID:MSVC>:/D_CRT_SECURE_NO_WARNINGS>
)

Bareflank/bsl cmake/interface/bsl.cmake :76

target_include_directories(bsl SYSTEM INTERFACE
    ${CMAKE_CURRENT_LIST_DIR}/../../include
    $<$<PLATFORM_ID:Linux>:${CMAKE_CURRENT_LIST_DIR}/../../include/bsl/platform/linux>
    $<$<PLATFORM_ID:Windows>:${CMAKE_CURRENT_LIST_DIR}/../../include/bsl/platform/windows>
)

MerginMaps/mobile cmake/FindAbsl.cmake :1805

set_target_properties(
    Absl::time_zone
    PROPERTIES
      INTERFACE_LINK_LIBRARIES
      "Threads::Threads;\$<\$<PLATFORM_ID:Darwin,iOS,tvOS,visionOS,watchOS>:-Wl,-framework,CoreFoundation>"
  )

bluescan/tacentview CMakeLists.txt :74

add_executable(
	${PROJECT_NAME}
	Src/ColourDialogs.cpp
	Src/ColourDialogs.h
	Src/Command.cpp
	Src/Command.h
	Src/CommandHelp.cpp
	Src/CommandHelp.h
	Src/CommandOps.cpp
	Src/CommandOps.h
	Src/Config.cpp
	Src/Config.h
	Src/ContactSheet.cpp
	Src/ContactSheet.h
	Src/Crop.cpp
	Src/Crop.h
	Src/Details.cpp
	Src/Details.h
	Src/Dialogs.cpp
	Src/Dialogs.h
	Src/FileDialog.cpp
	Src/FileDialog.h
	Src/GuiUtil.cpp
	Src/GuiUtil.h
	Src/Image.cpp
	Src/Image.h
	Src/ImportRaw.cpp
	Src/ImportRaw.h
	Src/InputBindings.cpp
	Src/InputBindings.h
	Src/MultiFrame.cpp
	Src/MultiFrame.h
	Src/OpenSaveDialogs.cpp
	Src/OpenSaveDialogs.h
	Src/Preferences.cpp
	Src/Preferences.h
	Src/Profile.cpp
	Src/Profile.h
	Src/Properties.cpp
	Src/Properties.h
	Src/Quantize.cpp
	Src/Quantize.h
	Src/Resize.cpp
	Src/Resize.h
	Src/Rotate.cpp
	Src/Rotate.h
	Src/TacentView.cpp
	Src/TacentView.h
	Src/ThumbnailView.cpp
	Src/ThumbnailView.h
	Src/Undo.cpp
	Src/Undo.h
	Src/Version.cmake.h
	Src/Version.cpp
	$<$<PLATFORM_ID:Windows>:${CMAKE_CURRENT_SOURCE_DIR}/Windows/TacentView.rc>

	Contrib/imgui/imgui.cpp
	Contrib/imgui/imgui_demo.cpp
	Contrib/imgui/imgui_draw.cpp
	Contrib/imgui/imgui_tables.cpp
	Contrib/imgui/imgui_widgets.cpp
	Contrib/imgui/misc/cpp/imgui_stdlib.cpp
	Contrib/imgui/backends/imgui_impl_glfw.cpp
	Contrib/imgui/backends/imgui_impl_opengl2.cpp

	Contrib/glad/src/glad.c

	Contrib/clip/clip.cpp
	$<$<PLATFORM_ID:Windows>:Contrib/clip/clip_win.cpp>
	$<$<PLATFORM_ID:Windows>:Contrib/clip/clip_win_bmp.cpp>
	$<$<PLATFORM_ID:Windows>:Contrib/clip/clip_win_wic.cpp>
	$<$<PLATFORM_ID:Linux>:Contrib/clip/clip_x11.cpp>
	Contrib/clip/image.cpp
)

odygrd/quill cmake/QuillUtils.cmake :37

target_compile_options(${target_name} ${COMPILE_OPTIONS_VISIBILITY}
            # General warnings for Clang, AppleClang, and GNU, but NOT on Windows
            $<$<AND:$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>,$<CXX_COMPILER_ID:GNU>>,$<NOT:$<PLATFORM_ID:Windows>>>:
            -Wall -Wextra -pedantic -Werror -Wredundant-decls -Wfloat-equal
            >

            # GCC-specific hardening and security flags
            $<$<AND:$<CXX_COMPILER_ID:GNU>,$<BOOL:${QUILL_ENABLE_GCC_HARDENING}>>:
            -fstack-protector-strong
            -fstack-clash-protection
            -Wformat
            -Werror=format-security
            -fcf-protection
            -Wdate-time
            -D_FORTIFY_SOURCE=2
            >

            # GCC >= 7.1 specific: suppress PSABI warning
            $<$<AND:$<CXX_COMPILER_ID:GNU>,$<VERSION_GREATER_EQUAL:$<CXX_COMPILER_VERSION>,7.1>>:
            -Wno-psabi
            >

            # Clang specific options, but NOT on Windows
            $<$<AND:$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>>,$<NOT:$<PLATFORM_ID:Windows>>>:
            -Wimplicit-int-float-conversion -Wdocumentation
            >

            # Disable C++20 extension warnings for Clang > 17, but NOT on Windows
            $<$<AND:$<CXX_COMPILER_ID:Clang>,$<VERSION_GREATER:$<CXX_COMPILER_VERSION>,17>,$<NOT:$<PLATFORM_ID:Windows>>>:
            -Wno-c++20-extensions
            >

            # Disable specific warning for Clang and AppleClang, but NOT on Windows
            $<$<AND:$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:AppleClang>>,$<NOT:$<PLATFORM_ID:Windows>>>:
            -Wno-gnu-zero-variadic-macro-arguments
            >

            # Windows-specific options
            $<$<PLATFORM_ID:Windows>:$<$<OR:$<CXX_COMPILER_ID:MSVC>,$<CXX_COMPILER_ID:Clang>>:/bigobj /WX /W4 /wd4324 /wd4996>>
    )

bnoordhuis/v8-cmake CMakeLists.txt :625

add_custom_command(
  COMMAND
    mksnapshot
    --embedded_src ${PROJECT_BINARY_DIR}/embedded.S
    --startup_src ${PROJECT_BINARY_DIR}/snapshot.cc
    $<${is-arm64}:--target_arch=arm64>
    $<${is-x64}:--target_arch=x64>
    $<${is-ppc}:--target_arch=ppc>
    $<${is-ppc64}:--target_arch=ppc64>
    $<$<PLATFORM_ID:Darwin>:--target_os=mac>
    $<$<PLATFORM_ID:Linux>:--target_os=linux>
    $<$<PLATFORM_ID:Windows>:--target_os=win>
    --turbo_instruction_scheduling
  DEPENDS
    mksnapshot
  OUTPUT
    ${PROJECT_BINARY_DIR}/embedded.S
    ${PROJECT_BINARY_DIR}/snapshot.cc
)

versatica/libmediasoupclient CMakeLists.txt :151

target_compile_definitions(${PROJECT_NAME} PUBLIC
	$<$<NOT:$<PLATFORM_ID:Windows>>:WEBRTC_POSIX>
	$<$<PLATFORM_ID:Windows>:WEBRTC_WIN>
	$<$<PLATFORM_ID:Windows>:NOMINMAX>
	$<$<PLATFORM_ID:Windows>:WIN32_LEAN_AND_MEAN>
	$<$<PLATFORM_ID:Darwin>:WEBRTC_MAC>
)

Jackarain/proxy third_party/snmalloc/CMakeLists.txt :284

target_link_options(${name} PRIVATE 
    $<$<BOOL:${SNMALLOC_LINKER_SUPPORT_NO_ALLOW_SHLIB_UNDEF}>:-Wl,--no-undefined>
    $<$<PLATFORM_ID:Windows>:$<${ci_or_debug}:/DEBUG>>)

librevault/librevault CMakeLists.txt :73

add_compile_definitions($<$<PLATFORM_ID:Windows>:_WIN32_WINNT=0x600>)

freeorion/freeorion CMakeLists.txt :205

set_property(DIRECTORY APPEND
    PROPERTY COMPILE_DEFINITIONS
        # Set minimum Windows target version to Windows10
        # https://msdn.microsoft.com/en-us/library/aa383745.aspx
        # Use numeric to correctly compare it in <boost\log\detail\config.hpp>
        $<$<PLATFORM_ID:Windows>:_WIN32_WINNT=0x0A00>
        # Default to unicode variants when using Win32 API
        # https://msdn.microsoft.com/en-us/library/dybsewaf.aspx
        $<$<PLATFORM_ID:Windows>:_UNICODE>
        # Disable "'<func>' was declared deprecated" warning
        # https://msdn.microsoft.com/en-us/library/ttcz0bys.aspx
        $<$<PLATFORM_ID:Windows>:_CRT_SECURE_NO_WARNINGS>
        # Disable '<func>': Function call with parameters that may be unsafe" warning
        # https://msdn.microsoft.com/en-us/library/ttcz0bys.aspx
        $<$<PLATFORM_ID:Windows>:_SCL_SECURE_NO_WARNINGS>
        # Disable '<func>': The POSIX name for this item is deprecated." warning
        # https://msdn.microsoft.com/en-us/library/ttcz0bys.aspx
        $<$<PLATFORM_ID:Windows>:_CRT_NONSTDC_NO_WARNINGS>

        # Suppress "Boost.Config is older than your compiler version" warning
        $<$<PLATFORM_ID:Windows>:BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE>

        # Define platform specific macros
        $<$<PLATFORM_ID:Windows>:FREEORION_WIN32>
        $<$<PLATFORM_ID:Darwin>:FREEORION_MACOSX>
        $<$<PLATFORM_ID:Linux>:FREEORION_LINUX>
        $<$<PLATFORM_ID:FreeBSD>:FREEORION_FREEBSD>
        $<$<PLATFORM_ID:OpenBSD>:FREEORION_OPENBSD>
        $<$<PLATFORM_ID:NetBSD>:FREEORION_NETBSD>
        $<$<PLATFORM_ID:DragonFly>:FREEORION_DRAGONFLY>
        $<$<PLATFORM_ID:Haiku>:FREEORION_HAIKU>
        $<$<PLATFORM_ID:Android>:FREEORION_ANDROID>
)

sxs-collaboration/spectre src/Informer/CMakeLists.txt :38

target_link_options(
    ${LIBRARY}
    PUBLIC
    "$<$<PLATFORM_ID:Darwin>:-Wl,-U,_git_branch>"
    "$<$<PLATFORM_ID:Darwin>:-Wl,-U,_git_description>"
    "$<$<PLATFORM_ID:Darwin>:-Wl,-U,_link_date>"
    "$<$<PLATFORM_ID:Darwin>:-Wl,-U,_executable_name>"
    )

open-eid/libdigidocpp src/CMakeLists.txt :5

add_library(minizip STATIC minizip/zip.c minizip/unzip.c minizip/ioapi.c $<$<PLATFORM_ID:Windows>:minizip/iowin32.c>)

eProsima/Micro-XRCE-DDS-Agent cmake/SuperBuild.cmake :200

ExternalProject_Add(googletest
            GIT_REPOSITORY
                https://github.com/google/googletest.git
            GIT_TAG
                release-1.11.0
            PREFIX
                ${PROJECT_BINARY_DIR}/googletest
            INSTALL_DIR
                ${PROJECT_BINARY_DIR}/temp_install/googletest
            CMAKE_ARGS
                -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
                -DCMAKE_TOOLCHAIN_FILE:PATH=${CMAKE_TOOLCHAIN_FILE}
                $<$<PLATFORM_ID:Windows>:-Dgtest_force_shared_crt:BOOL=ON>
            BUILD_COMMAND
                COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config Release --target install
                COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config Debug --target install
            INSTALL_COMMAND
                ""
            )

ipsilon/evmone lib/evmone/CMakeLists.txt :68

target_link_options(evmone PRIVATE $<$<PLATFORM_ID:Linux>:LINKER:--no-undefined>)

NVIDIAGameWorks/Falcor Source/Falcor/CMakeLists.txt :933

target_compile_definitions(Falcor
    PUBLIC
        $<$<CONFIG:Release>:NDEBUG>
        $<$<CONFIG:Debug>:_DEBUG>
        # Windows.
        $<$<PLATFORM_ID:Windows>:NOMINMAX>  # do not define min/max macros
        $<$<PLATFORM_ID:Windows>:UNICODE>   # force character map to unicode
        # MSVC C++ library.
        $<$<CXX_COMPILER_ID:MSVC>:_USE_MATH_DEFINES>
        $<$<CXX_COMPILER_ID:MSVC>:_SCL_SECURE_NO_WARNINGS>
        $<$<CXX_COMPILER_ID:MSVC>:_CRT_SECURE_NO_WARNINGS>
        $<$<CXX_COMPILER_ID:MSVC>:_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING>
        $<$<CXX_COMPILER_ID:MSVC>:_SILENCE_ALL_MS_EXT_DEPRECATION_WARNINGS>
        # Clang.
        $<$<CXX_COMPILER_ID:Clang>:_MSC_EXTENSIONS> # enable MS extensions
        # Falcor feature flags.
        FALCOR_ENABLE_ASSERTS=$<BOOL:${FALCOR_ENABLE_ASSERTS_}>
        FALCOR_ENABLE_PROFILER=$<BOOL:${FALCOR_ENABLE_PROFILER}>
        FALCOR_HAS_D3D12=$<BOOL:${FALCOR_HAS_D3D12}>
        FALCOR_HAS_VULKAN=$<BOOL:${FALCOR_HAS_VULKAN}>
        FALCOR_HAS_AFTERMATH=$<BOOL:${FALCOR_HAS_AFTERMATH}>
        FALCOR_HAS_NVAPI=$<BOOL:${FALCOR_HAS_NVAPI}>
        FALCOR_HAS_CUDA=$<BOOL:${FALCOR_HAS_CUDA}>
        FALCOR_HAS_D3D12_AGILITY_SDK=$<BOOL:${FALCOR_HAS_D3D12_AGILITY_SDK}>
        # TODO: RTXDI is always available, we might want to remove the feature flag.
        FALCOR_HAS_RTXDI=1
        IMGUI_USER_CONFIG="Utils/UI/ImGuiConfig.h"
    PRIVATE
        #$<$<CONFIG:Debug>:_ITERATOR_DEBUG_LEVEL=0>
        FALCOR_PROJECT_DIR="${CMAKE_SOURCE_DIR}/"
        FALCOR_DLL
        $<$<PLATFORM_ID:Windows>:IMGUI_API=__declspec\(dllexport\)>
        $<$<PLATFORM_ID:Linux>:IMGUI_API=__attribute__\(\(visibility\("default"\)\)\)>
)

arrayfire/arrayfire CMakeModules/InternalUtils.cmake :40

target_compile_options(${target}
    PRIVATE

      $<$<BOOL:${CMAKE_SYCL_COMPILER}>:
        $<$<COMPILE_LANGUAGE:SYCL>:
                # OpenCL targets need this flag to avoid
                # ignored attribute warnings in the OpenCL
                # headers
                -Wno-ignored-attributes
                -Wall
                -Wno-unqualified-std-cast-call
                -Werror=reorder-ctor
                #-fp-model precise
                $<$<BOOL:${AF_WITH_FAST_MATH}>: -ffast-math -fno-errno-math -fno-trapping-math -fno-signed-zeros -mno-ieee-fp>
                $<$<NOT:$<BOOL:${AF_WITH_FAST_MATH}>>: $<IF:$<PLATFORM_ID:Windows>,/fp=precise,-fp-model=precise>>
                $<$<CONFIG:Debug>:-Rno-debug-disables-optimization>

                $<$<PLATFORM_ID:Windows>: /wd4251
                                          /wd4068
                                          /wd4275
                                          /wd4668
                                          /wd4710
                                          /wd4505
                                          /we5038
                                          /bigobj
                                          /EHsc
                                          /nologo
                                          # MSVC incorrectly sets the cplusplus to 199711L even if the compiler supports
                                          # c++11 features. This flag sets it to the correct standard supported by the
                                          # compiler
                                          $<$<BOOL:${cplusplus_define}>:/Zc:__cplusplus>
                                          $<$<BOOL:${cxx_compliance}>:/permissive-> >
            >>
      $<$<COMPILE_LANGUAGE:CXX>:
              # C4068: Warnings about unknown pragmas
              # C4668: Warnings about unknown defintions
              # C4275: Warnings about using non-exported classes as base class of an
              #        exported class
              $<$<CXX_COMPILER_ID:MSVC>:  /wd4251
                                          /wd4068
                                          /wd4275
                                          /wd4668
                                          /wd4710
                                          /wd4505
                                          /we5038
                                          /bigobj
                                          /EHsc
                                          /nologo
                                          # MSVC incorrectly sets the cplusplus to 199711L even if the compiler supports
                                          # c++11 features. This flag sets it to the correct standard supported by the
                                          # compiler
                                          $<$<BOOL:${cplusplus_define}>:/Zc:__cplusplus>
                                          $<$<BOOL:${cxx_compliance}>:/permissive-> >

              # OpenCL targets need this flag to avoid
              # ignored attribute warnings in the OpenCL
              # headers
              $<$<BOOL:${has_ignored_attributes_flag}>:-Wno-ignored-attributes>
              $<$<BOOL:${has_all_warnings_flag}>:-Wall>
              $<$<BOOL:${has_cxx_unqualified_std_cast_call}>:-Wno-unqualified-std-cast-call>
              $<$<BOOL:${has_cxx_error_reorder_ctor}>:-Werror=reorder-ctor>

              $<$<BOOL:${AF_WITH_FAST_MATH}>:
                  $<$<BOOL:${has_cxx_fast_math}>:-ffast-math>
                  $<$<BOOL:${has_cxx_no_errno_math}>:-fno-errno-math>
                  $<$<BOOL:${has_cxx_no_trapping_math}>:-fno-trapping-math>
                  $<$<BOOL:${has_cxx_no_signed_zeros}>:-fno-signed-zeros>
                  $<$<BOOL:${has_cxx_no_ieee_fp}>:-mno-ieee-fp>
                  >

              $<$<NOT:$<BOOL:${AF_WITH_FAST_MATH}>>:
                    $<$<BOOL:${has_cxx_fp_model}>:-fp-model precise>>

              $<$<BOOL:${has_cxx_debug-disables-optimization}>:
                  $<$<CONFIG:Debug>:-Rno-debug-disables-optimization>>
          >
    )

eProsima/Micro-XRCE-DDS CMakeLists.txt :196

ExternalProject_Add(googletest
            GIT_REPOSITORY
                https://github.com/google/googletest.git
            GIT_TAG
                release-1.11.0
            PREFIX
                ${PROJECT_BINARY_DIR}/googletest
            INSTALL_DIR
                ${PROJECT_BINARY_DIR}/temp_install/googletest
            CMAKE_ARGS
                -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
                $<$<PLATFORM_ID:Windows>:-Dgtest_force_shared_crt:BOOL=ON>
            BUILD_COMMAND
                COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config Release --target install
                COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config Debug --target install
            INSTALL_COMMAND
                ""
            )

twhl-community/halflife-unified-sdk CMakeLists.txt :145

target_link_options(${TARGET_NAME} PRIVATE
		$<$<PLATFORM_ID:Linux>:-static-libstdc++ -Wl,-Map,${TARGET_NAME}_map.txt>)

surge-synthesizer/surge-rack CMakeLists.txt :52

target_compile_options(eurorack PRIVATE -Wno-unused-local-typedefs $<$<PLATFORM_ID:Darwin>:-Wno-infinite-recursion>)

swiftlang/swift Runtimes/Core/CMakeLists.txt :177

add_link_options($<$<PLATFORM_ID:Windows>:LINKER:/WX>)

Lewuathe/mlir-hello thirdparty/llvm-project/mlir/cmake/modules/AddMLIRPython.cmake :741

target_link_options(${libname}
    PRIVATE
      # On Linux, disable re-export of any static linked libraries that
      # came through.
      $<$<PLATFORM_ID:Linux>:LINKER:--exclude-libs,ALL>
  )

KhronosGroup/OpenCL-SDK samples/CMakeLists.txt :72

target_compile_definitions(${OPENCL_SAMPLE_TARGET}
      PRIVATE
        CL_TARGET_OPENCL_VERSION=${OPENCL_SAMPLE_VERSION}
        CL_HPP_TARGET_OPENCL_VERSION=${OPENCL_SAMPLE_VERSION}
        CL_HPP_MINIMUM_OPENCL_VERSION=${OPENCL_SAMPLE_VERSION}
        CL_HPP_ENABLE_EXCEPTIONS
        $<$<PLATFORM_ID:Windows>:_CRT_SECURE_NO_WARNINGS> # TODO: remove
        ${OPENCL_SAMPLE_DEFINITIONS}
    )

punesemu/puNES src/CMakeLists.txt :787

target_link_options(punes
	PRIVATE
	$<$<PLATFORM_ID:Windows>:
		-static-libgcc
		-static-libstdc++
		$<$<BOOL:${ENABLE_RELEASE}>:-Wl,-subsystem,windows>
		$<$<NOT:$<BOOL:${ENABLE_RELEASE}>>:-Wl,-subsystem,console>
		$<IF:$<STREQUAL:${HOST_CPU},i386>,
			-L${CMAKE_CURRENT_SOURCE_DIR}/extra/windows/Cg/lib,
			-L${CMAKE_CURRENT_SOURCE_DIR}/extra/windows/Cg/lib.x64
		>
	>
	)

QW-Group/ezquake-source CMakeLists.txt :830

target_compile_definitions(ezquake PRIVATE
        BUILDSTRING="${CMAKE_SYSTEM_NAME}"
        CPUSTRING="${CMAKE_SYSTEM_PROCESSOR}"

        JSS_CAM
        USE_PR2
        WITH_NQPROGS

        $<$<BOOL:${DEBUG_MEMORY_ALLOCATIONS}>:DEBUG_MEMORY_ALLOCATIONS>
        $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:WITH_RENDERING_TRACE>

        $<$<PLATFORM_ID:Darwin>:GL_SILENCE_DEPRECATION>

        $<$<BOOL:${RENDERER_MODERN_OPENGL}>:RENDERER_OPTION_MODERN_OPENGL>
        $<$<BOOL:${RENDERER_CLASSIC_OPENGL}>:RENDERER_OPTION_CLASSIC_OPENGL>

        WITH_PNG
        WITH_JPEG
        WITH_ZIP
        WITH_ZLIB

        $<$<BOOL:${HAVE_FREETYPE}>:EZ_FREETYPE_SUPPORT>
        $<$<BOOL:${HAVE_FREETYPE}>:EZ_FREETYPE_SUPPORT_STATIC>

        $<$<AND:$<BOOL:${HAVE_SPEEX}>,$<BOOL:${HAVE_SPEEXDSP}>>:WITH_SPEEX>

        PCRE2_CODE_UNIT_WIDTH=8
)

eProsima/Micro-XRCE-DDS-Client cmake/SuperBuild.cmake :65

ExternalProject_Add(googletest
            GIT_REPOSITORY
                https://github.com/google/googletest.git
            GIT_TAG
                release-1.11.0
            PREFIX
                ${PROJECT_BINARY_DIR}/googletest
            INSTALL_DIR
                ${PROJECT_BINARY_DIR}/temp_install/googletest
            CMAKE_ARGS
                -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
                $<$<PLATFORM_ID:Windows>:-Dgtest_force_shared_crt:BOOL=ON>
            BUILD_COMMAND
                COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config Release --target install
                COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config Debug --target install
            INSTALL_COMMAND
                ""
            )

intel/vpl-gpu-rt builder/FindGlobals.cmake :312

target_compile_options(mfx_require_sse4_properties
    INTERFACE
      $<$<PLATFORM_ID:Windows>: /arch:sse4.2>
      $<$<PLATFORM_ID:Linux>:   -xsse4.2>
    )

CTSRD-CHERI/cheribsd contrib/subrepo-snmalloc/CMakeLists.txt :274

target_link_options(${name} PRIVATE 
    $<$<BOOL:${SNMALLOC_LINKER_SUPPORT_NO_ALLOW_SHLIB_UNDEF}>:-Wl,--no-undefined>
    $<$<PLATFORM_ID:Windows>:$<${ci_or_debug}:/DEBUG>>)

HDFGroup/hdf5 fortran/test/CMakeLists.txt :268

target_link_libraries (testhdf5_fortran_1_8 PRIVATE ${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_LIB_TARGET} ${HDF5_LIB_TARGET} "$<$<PLATFORM_ID:Windows>:ws2_32.lib>")